package beer.coder.walawala.common.plugin;

import beer.coder.walawala.common.exception.UIException;
import javafx.scene.control.MenuItem;
import javafx.scene.image.Image;
import javafx.stage.Stage;

/**
 * interface of plugin
 *
 * @author amath0312
 * @version 1.0
 * @date 2020-04-18 22:35
 */
public interface IPlugin {

  void load(Stage main) throws UIException;

  void open(MenuItem menuItem) throws UIException;

  void close() throws UIException;

  void detach() throws UIException;

  String getId();

  String getName();

  String[] getMenuPath();

  String getDescription();

  Image getIcon();
}
